<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        header{
            padding: 30px;
            border: 1px solid #000;
            position: relative;
        }
        div{
            height: 100px;
            width: 100px;
            background-color: red;
            border-left: 15px solid #000;
        }
    </style>
</head>
<body>
    <header>
        <div></div>
    </header>
    <script>
        var div = document.querySelector("div");
        div.onclick = function(){
            // 获取的是div到最近的设置有定位属性的父级标签的间距,到html为止
            console.log(div.offsetLeft);
            // 获取div左边边框的宽度
            console.log(div.clientLeft);
        }
		// offsetLeft获取 div 元素的左侧偏移量:
		// offsetLeft 是一个只读属性，返回当前元素相对于 offsetParent 节点左边界的偏移像素值。
		// 返回值包含:
		// 元素向左偏移的像素值，元素的外边距（margin）
		// offsetParent 元素的左侧内边距（padding）、边框（border）及滚动条
		// 注意: offsetParent 元素是一个指向最近的（指包含层级上的最近）包含该元素的定位元素或者最近的元素。
		// 提示: 获取元素顶部的偏移量使用 offsetTop 属性。
		
		// clientLeft 获取 div 元素顶部和左侧边框的宽度:
		// clientLeft 表示一个元素的左边框的宽度，以像素表示。如果元素的文本方向是从右向左（RTL, right-to-left），并且由于内容溢出导致左边出现了一个垂直滚动条，则该属性包括滚动条的宽度。
		// clientLeft 不包括左外边距和左内边距。
		// 提示: 你可以使用 style.borderLeftWidth 属性来获取元素左边框的宽度。
		// 提示: 要返回元素顶部边框的宽度可以使用 clientTop 属性。
		// clientLeft 是只读的。
    </script>
</body>
</html>